o Redirect resize parameters correctly; typically resize is handled
by the displaying pipe, and must be managed synchronously with
swap.
o Balance load among the pipes in the spatial subdivision case.
o Clean up operations when a hyperpipe application terminates
(either normally or due to error).
This extension adds to the set of conditions that must be met before a
buffer swap can take place.
FFFFUUUUNNNNCCCCTTTTIIIIOOOONNNNSSSS
The main functions are:
ggggllllXXXXQQQQuuuueeeerrrryyyyHHHHyyyyppppeeeerrrrppppiiiippppeeeeNNNNeeeettttwwwwoooorrrrkkkkSSSSGGGGIIIIXXXX - query the physical hyperpipe network.
ggggllllXXXXHHHHyyyyppppeeeerrrrppppiiiippppeeeeCCCCoooonnnnffffiiiiggggSSSSGGGGIIIIXXXX - configure the hyperpipe network.
ggggllllXXXXQQQQuuuueeeerrrryyyyHHHHyyyyppppeeeerrrrppppiiiippppeeeeCCCCoooonnnnffffiiiiggggSSSSGGGGIIIIXXXX - query a particular hyperpipe configuration.
ggggllllXXXXDDDDeeeessssttttrrrrooooyyyyHHHHyyyyppppeeeerrrrppppiiiippppeeeeCCCCoooonnnnffffiiiiggggSSSSGGGGIIIIXXXX - destroy a hyperpipe configuration.
ggggllllXXXXBBBBiiiinnnnddddHHHHyyyyppppeeeerrrrppppiiiippppeeeeSSSSGGGGIIIIXXXX - bind a process and rendering context to a
hyperpipe configuration.
NNNNOOOOTTTTEEEESSSS
In addition to its usual functionality, the ggggllllXXXXSSSSwwwwaaaappppBBBBuuuuffffffffeeeerrrrssss call on a
rendering context bound to a hyperpipe causes the hyperpipe display
output to switch to the next pipe of the network.
Hyperpipes cannot function on single buffered visuals; double buffered
visuals are required on all bound graphics contexts.
The hyperpipe id associated with a context can be determined by calling
ggggllllXXXXQQQQuuuueeeerrrryyyyCCCCoooonnnntttteeeexxxxttttIIIInnnnffffooooEEEEXXXXTTTT with an attribute of GGGGLLLLXXXX____HHHHYYYYPPPPEEEERRRRPPPPIIIIPPPPEEEE____IIIIDDDD____SSSSGGGGIIIIXXXX....
SSSSAAAAMMMMPPPPLLLLEEEE CCCCOOOODDDDEEEE
Typically, a hyperpipe application will have a master process which:
o Queries the hyperpipe network;
o Chooses which of the pipes on the hyperpipe network to use;
o Sets up a hyperpipe configuration using the above pipes;
o Forks off one (or more) rendering processes per pipe.